Em Rust, Perfis de Lançamento são configurações pré-definidas que permitem aos desenvolvedores controlar o equilíbrio entre tempo de compilação e desempenho em tempo de execução. Ajustando essas configurações, você pode adaptar o comportamento do compilador para atender à sua atual rotina de trabalho, seja iteração rápida ou implantação em produção.
1. Perfis Dev vs. Release
Cargo possui dois perfis principais: dev (usado por cargo build) e release (usado por cargo build --release). O perfil dev é otimizado para compilação rápida, mas resulta em execução de código mais lenta, enquanto o perfil release gasta mais tempo otimizando o código máquina para máxima eficiência.
2. Configuração do Nível de Otimização
O nível-de-otimização configuração é o principal controle para desempenho. Varia de 0 a 3:
- 0: Sem otimizações. Compilações rápidas, código lento. (Padrão para dev)
- 1-2: Otimizações intermediárias.
- 3: Otimizações agressivas. Compilações lentas, código mais rápido. (Padrão para release)
- "s" ou "z": Otimiza para tamanho do binário em vez de velocidade.
| Perfil | Nível de Otimização Padrão | Objetivo |
|---|---|---|
| dev | 0 | Iteração rápida |
| release | 3 | Velocidade de produção |
3. Personalizando Perfis
Você pode substituir esses padrões no seu Cargo.toml. Isso é útil quando o código não otimizado é muito lento para testes (por exemplo, em simulações pesadas), mas uma compilação completa de lançamento leva muito tempo.
nível-de-otimização = 1 # Código mais rápido que o nível 0, ainda rápido para compilar